home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.5)
-
- import dns.name as dns
-
- class NameDict(dict):
-
- def __init__(self, *args, **kwargs):
- super(NameDict, self).__init__(*args, **kwargs)
- self.max_depth = 0
-
-
- def __setitem__(self, key, value):
- if not isinstance(key, dns.name.Name):
- raise ValueError, 'NameDict key must be a name'
-
- depth = len(key)
- if depth > self.max_depth:
- self.max_depth = depth
-
- super(NameDict, self).__setitem__(key, value)
-
-
- def get_deepest_match(self, name):
- depth = len(name)
- if depth > self.max_depth:
- depth = self.max_depth
-
- for i in xrange(-depth, 0):
- n = dns.name.Name(name[i:])
- if self.has_key(n):
- return (n, self[n])
- continue
-
- v = self[dns.name.empty]
- return (dns.name.empty, v)
-
-
-